package com.ddwl.schema.bo.goods;

import com.ddwl.schema.bo.distr.SetGoodsProfitBo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;


import javax.validation.constraints.*;
import java.math.BigDecimal;
import java.util.List;

@ApiModel(description = "商品创建Bo")
@Getter
@Setter
public class ItemCreateBo {

    @ApiModelProperty("ID")
    private String id;
    @NotBlank(message = "商品名称不能为空")
    @ApiModelProperty("商品名称")
    private String itemName;
    @ApiModelProperty("品牌ID")
    private String brandId;
    @ApiModelProperty("商户ID")
    private String mchId;
    @ApiModelProperty("门店ID")
    private String shopId;
    @Min(0)
    @ApiModelProperty("零售价")
    private BigDecimal retailPrice;
    @ApiModelProperty("原价/津贴价")
    private BigDecimal originPrice;
    @NotBlank(message = "商品描述不能为空")
    @ApiModelProperty("商品描述")
    private String itemDesc;
    @ApiModelProperty("商品状态")
    private Integer itemStatus;
    @ApiModelProperty("商品编码")
    private String itemCode;
    @ApiModelProperty("商品条码")
    private String barcode;
    @ApiModelProperty("推荐")
    private Boolean recommend;
    @ApiModelProperty("销量")
    private Integer sales;
    @ApiModelProperty("虚拟销量")
    private Integer falseSales;
    @ApiModelProperty("活动标识")
    private String activitySgin;
    @ApiModelProperty("评分")
    private Float star;
    @NotBlank(message = "属性列表不能为空")
    @ApiModelProperty("属性列表")
    private String attributeList;
    @NotEmpty(message = "sku信息不能为空")
    @ApiModelProperty("sku信息")
    private List<SkuBo> skus;
    @ApiModelProperty("预约购信息")
    private ReserveBo reserveBo;
    @ApiModelProperty("商品排序")
    private Integer itemSort;
    @ApiModelProperty("满减购信息")
    private DiscountBo discountBo;
    @ApiModelProperty("商品图片")
    @NotEmpty(message = "商品图片不能为空")
    private List<ItemMediaBo> medias;
    @ApiModelProperty("商品分润信息")
    private SetGoodsProfitBo goodsProfitBo;
    @NotBlank(message = "分类id不能为空")
    @ApiModelProperty("分类id")
    private String categoryId;
    @ApiModelProperty("类目code 从最上级分类开始用斜杠拼接到所选择的分类为止 如： 一级分类id/二级分类id/...")
    private String categoryCode;
    @ApiModelProperty("商品预估佣金")
    private BigDecimal itemCommission;
    @ApiModelProperty("供应商Id")
    private String supplierId;
    @ApiModelProperty("参数详情")
    private String paramDetail;
    @ApiModelProperty("审核阶段")
    private Integer auditingStage;
    @ApiModelProperty("搜索关键字")
    private String keywords;

    @ApiModelProperty("是否限购，0否 1是")
    private Integer limitFlag;

    @ApiModelProperty("限购数量")
    private Integer limitQuantity;

    @ApiModelProperty("是否可代理 0否 1是")
    private Integer agentFlag;

    @ApiModelProperty("是否公益商品 0否 1是")
    private Integer charityFlag;
}
